home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / libraries / mui20usr.lha / MUI / Docs / English / MUI.doc < prev    next >
Encoding:
Text File  |  1994-02-11  |  43.0 KB  |  1,227 lines

  1.  
  2.  
  3.                        MUI - MagicUserInterface
  4.  
  5.        A system to create and maintain graphical user interfaces
  6.  
  7.                               Version 2.0
  8.  
  9.                           User Documentation
  10.  
  11.                 (c) Copyright 1992-94 by Stefan Stuntz
  12.  
  13.                              - ShareWare -
  14.  
  15. Introduction
  16. ************
  17.  
  18. The concepts behind MUI
  19. =======================
  20.  
  21.    MagicUserInterface (also known as MUI) is a complete system to create
  22. and maintain graphical user interfaces. The creating GUIs has been a
  23. big problem for a very long time. Mainly because the programmer got
  24. only a minuscule amount of support from the operating system. Beginning
  25. with Kickstart 2.0, the `gadtools library' was a step in the right
  26. direction, however, even using this library to generate complex and
  27. flexible interfaces remained difficult and still required a great deal
  28. of patience.
  29.  
  30.    Today there are tools available that make the use of `gadtools
  31. library' much more simplified, but even these alternatives are not
  32. often satisfying.
  33.  
  34.    The largest problem in existing tools for the creation of user
  35. interfaces is the inflexible output.  Most of the programs are still
  36. using built-in fonts and window sizes, thus making the use of high
  37. resolution graphics hardware adaptors nearly unbearable.  Its been said
  38. that Amiga users have had to live with such similar shortcomings all
  39. along.  Even the preference programs on the Workbench are still only
  40. using the default font, topaz/8!
  41.  
  42.    MUI corrects all these disadvantages!  The central scheme behind MUI
  43. assumes that only the user (and not the programmer) of an application
  44. knows how the program he is using best fits his personal needs, and that
  45. of his computer system.  Because MUI applications don't contain any
  46. absolute values for sizes or positions, the programmer instead only
  47. defines objects and groups of objects.  Such objects are defined on run
  48. time by MUI according to the users settings.
  49.  
  50.    Consequently, an MUI application gives the user *many* more important
  51. advantages:
  52.  
  53.    - Font sensitivity
  54.  
  55.      In MUI Its possible for the font to be set in every application.
  56.      No more times where the A2024 users had to suffer from the
  57.      programs that only used the tiny topaz/8 font. Even better, MUI
  58.      gives the user no restrictions on which fonts he may use,
  59.      especially proportional fonts!  The proportional fonts make a
  60.      program much more appealing and even reduces the space a program's
  61.      window uses.
  62.  
  63.    - Changeable window sizes
  64.  
  65.      All MUI windows have a sizing gadget which allows users to change
  66.      the window size until it suits their needs. The smaller a window
  67.      becomes, the closer control items within the window come together.
  68.      The larger the window, the more space that will be used for
  69.      displaying information (e.g. in list-views). The size and position
  70.      of every window can be saved, thus giving you your favorite
  71.      setting every time you start the program.
  72.  
  73.    - Flexibility
  74.  
  75.      Almost all elements can be changed by the user regarding their own
  76.      personal tastes. The user can define the thickness of borders, how
  77.      the scroll-bars look, mhich images have to be used, and how much
  78.      space should be inserted between the lines of a list-view.  MUI
  79.      gives the user a lot of options to change the look and feel of an
  80.      MUI based application.
  81.  
  82.    - Controlling by keyboard
  83.  
  84.      Most of the time it is expected that graphical user interfaces
  85.      (GUIs) and of course MUI applications as well, are controlled by
  86.      the mouse.  However, many users prefer the use of the keyboard for
  87.      faster execution of operations, and because it can be more
  88.      comfortable.  Because of this, all MUI objects (e.g. string
  89.      gadgets, radio buttons, or list-views) can be controlled by the
  90.      keyboard as well as by the mouse! You can even put away your mouse
  91.      completely if you wish!  Its no longer needed!
  92.  
  93.    - System integration
  94.  
  95.      MUI applications cooperate with the operating system in many ways.
  96.      Every program can be iconified and uniconified by pushing a gadget
  97.      or by using the Commodities exchange program.  Furthermore, every
  98.      MUI application has an ARexx-Port that allows you full remote
  99.      control (and more) over the user interface.
  100.  
  101.    - Adjusting to its environment
  102.  
  103.      It doesn't matter which screen or screen size your MUI applications
  104.      run on.  Workbench or public, 640x200 or 1280x1024 pixels, 4 or 256
  105.      colors, it doesn't matter!  Every application can be made to open
  106.      on any screen, and adapts itself to it's environment.
  107.  
  108.    All of the MUI settings listed above (and more) can be changed by the
  109. user via the MUI preferences program.  This can be set for every
  110. program in one setting (global) or can be set for each and every single
  111. application.
  112.  
  113. System Requirements
  114. ===================
  115.  
  116.    MUI requires version 2.0 of the Amiga operating system or higher.
  117.  
  118.    Kickstart 1.3 is *not* supported; this operating system has been
  119. considered to be obsolete.
  120.  
  121.    The use of MUI on a harddisk is *highly* recommended, although floppy
  122. disk usage is still possible.  Due to the modular concept behind MUI
  123. the first application startup may last "a little" longer.
  124.  
  125.    MUI does not require a special processor, but of course the faster
  126. CPUs make life easier. Many complex calculations are needed for the
  127. management and layout of the objects, so a "base" 68000 based machine
  128. could be a tad slow.
  129.  
  130.    MUI applications can run on machines only equipped with 512K of free
  131. RAM, but could become obsolete quite soon. One Megabyte (1024K) RAM
  132. should be sufficient even for the most complex MUI applications.
  133.  
  134. Installation
  135. ============
  136.  
  137.    MUI is distributed together with the Installer program from
  138. Commodore. Therefore making installation a breeze!  Just double-click
  139. on the `MUI-Install' icon and the installation procedure is on it's way.
  140.  
  141. Using MUI Applications
  142. **********************
  143.  
  144. Windows
  145. =======
  146.  
  147.    As mentioned previously, nearly all MUI windows are resizeable.  This
  148. allows the user to determine if he wants his control items (i.e.
  149. buttons, list-views, a.s.o.) small and space saving, or bigger and easy
  150. to use. It would be very annoying to adjust the size and position every
  151. time an application appears, all MUI windows remember their size and
  152. positions and uses these values when the application appears again.
  153. This is true for the "normal" window position and size as well as for
  154. the values of the window in a "zoomed" state. (after hitting the zoom
  155. gadget)
  156.  
  157.    After rebooting the data for the windows are usually lost, if you
  158. have not saved them by hitting the `Save' button in the preferences
  159. window. By doing so, all data regarding the windows are saved and are
  160. available even after a reset.
  161.  
  162.    In addition to the depth and soom gadget there is a third button in
  163. the title-bar of every MUI window. This button is used to iconify the
  164. whole application. All windows (and screens if available) in the
  165. application are closed and a little appicon appears on the Workbench or
  166. default screen. Double-clicking on this appicon makes the program open
  167. its window(s) (and screen) again.
  168.  
  169. Keyboard control
  170. ================
  171.  
  172.    All control items in an MUI window can be controlled completely by
  173. the keyboard. All the known keyboard shortcuts (marked by an uderscore
  174. character) are supported. However, this method is limited if used with
  175. list-views or cycle gadgets.
  176.  
  177.    Because of this the `TAB' cycling (up until now only used for string
  178. gadgets) has been made available for MUI applications. You can activate
  179. every object (not only string gadgets) by hitting the `TAB' key. As
  180. soon as you activate an object it can then be controlled by the
  181. keyboard.
  182.  
  183.    - Button gadgets
  184.  
  185.      `Return' is the equivalent to clicking the gadget with the moust
  186.      button. Pressing and releasing a button is handled in a different
  187.      way. If you push a knob and then wish you cancel this action, you
  188.      may do so by additionally pushing `Shift' before releasing the
  189.      `Return' key.
  190.  
  191.    - Checkmark gadgets
  192.  
  193.      An active checkmark gadget can be controlled by `Space' or
  194.      `Return'.  The value of this gadget is toggled every time you
  195.      press the corresponding key.
  196.  
  197.    - Slider gadgets
  198.  
  199.      The value of the horizontal or vertical slider gadgets can be
  200.      changed by using the four cusor keys. Using qualifier keys
  201.      additionally allows you to change the increase/decrease amount of
  202.      the sliders.
  203.  
  204.    - Cycle gadgets
  205.  
  206.      An active cycle gadget can be switched by using the cursor keys.
  207.      The `Return' key pops up a popup menu (as long as you did not
  208.      disable this feature in the MUI preferences program).
  209.  
  210.    - Radio-Buttons
  211.  
  212.      Radio buttons are also controlled by the cursor keys.
  213.  
  214.    - List-Views
  215.  
  216.      In an activated list-view the cursor can be moved line by line
  217.      using the cursor keys and together with the corresponding
  218.      qualifier keys pagewise or even to the top or to the bottom. The
  219.      `Return' key simulates a double-click.
  220.  
  221.      If multiselecting is allowed in a list-view, you can select the
  222.      different items by using the `Space' key.
  223.  
  224.    - Windows
  225.  
  226.      For applications opening several windows simultaneously you can
  227.      switch from one window to another by using the `Alt-Tab' key or the
  228.      `Shift-Alt-Tab' key respectively. If the window has a close gadget
  229.      , you can hit the `ESC' key to close the window.
  230.  
  231.    All information refers to the default settings. With the preferences
  232. program, you can change all the keyboard combinations until the suit
  233. your needs.
  234.  
  235. Cycle gadgets
  236. =============
  237.  
  238.    Besides the MUI cycle gadgets supporting their "normal" function
  239. (next entry by clicking on them, previous entry by holding `Shift'
  240. additionally), offers a menu feature.  This popup menu appears as soon
  241. as the text section of the cycle gadget is hit, then allows a quick and
  242. easy selection of one of the listed entries.
  243.  
  244.    The behaviour of the popup menus can be influenced within the
  245. listview section of the MUI preferences program.
  246.  
  247. Commodities interface
  248. =====================
  249.  
  250.    Every MUI application ties itself in the system as a commodity.
  251. This is nice in that the user can control any MUI application via the
  252. `Commodities Exchange' program, i.e. MUI Applications can be iconified
  253. or canceled.
  254.  
  255. built-in ARexx Port
  256. ===================
  257.  
  258.    Every MUI application is able to receive commands via the built-in
  259. ARexx port. Here are some default commands which are understood by
  260. every program:
  261.  
  262.    - QUIT
  263.  
  264.      Ends the application.
  265.  
  266.    - HIDE
  267.  
  268.      Hides (iconifies) the application
  269.  
  270.    - SHOW
  271.  
  272.      Shows (pops up) an iconified application.
  273.  
  274.    - INFO ITEM/A
  275.  
  276.      According to the given parameter the result string is filled with
  277.      the following contents:
  278.  
  279.         - "title"       Title of the application
  280.  
  281.         - "author"      Author of the  application
  282.  
  283.         - "copyright"   Copyright message
  284.  
  285.         - "description" Short description
  286.  
  287.         - "version"     Version string
  288.  
  289.         - "base"        Name of the ARexx port
  290.  
  291.         - "screen"      Name of the public screen
  292.  
  293.    - HELP FILE/A
  294.  
  295.      A list of all ARexx commands available for the application is
  296.      written into the given file. In addition to the default commands an
  297.      MUI application can (and of course should) support many application
  298.      specific commands. The help list will contain these commands as
  299.      well.
  300.  
  301.    In case of an error, MUI returns the following values to the rexx
  302. script:
  303.  
  304.    - -1
  305.  
  306.      Wrong command definition in host program. Should never happen.
  307.  
  308.    - -2
  309.  
  310.      Out of memory.
  311.  
  312.    - -3
  313.  
  314.      Unknown ARexx command.
  315.  
  316.    - -4
  317.  
  318.      Syntax error.
  319.  
  320.    Some example scripts can be found in the `Rexx' drawer on the main
  321. directory of the distribution.
  322.  
  323. Preferences-Programm
  324. ********************
  325.  
  326. Introduction
  327. ============
  328.  
  329.    With traditional applications, the user usually has no or only very
  330. limited possibilities to influence the look and feel of an user
  331. interface. With MUI, interfaces are a lot more flexible. The programmer
  332. only specifies very few things about the outfit of particular gadgets,
  333. what actually is displayed on screen depends on the users preferences
  334. setting.
  335.  
  336.    To adjust these settings, MUI comes with a preferences program
  337. called `MUI'. After installation, this tool can be found in the
  338. system's preferences drawer.
  339.  
  340. Main Window
  341. ===========
  342.  
  343.    The main window of the preferences program consists of three
  344. sections; an application info at the top, the traditional preferences
  345. buttons at the bottom and some configuration pages in the middle.
  346.  
  347.    With the application popup at the top of the window, you can adjust
  348. the program for which you want to edit the preferences. MUI maintains a
  349. list of all previously started applications automatically.  The special
  350. string "Global" indicates the global default setting.  Usually you will
  351. configure a lot of global settings and only very few application
  352. specific changes, e.g. different public screens or iconify icon
  353. positions.
  354.  
  355.    The middle part of the window is made up of several pages that
  356. contain all the possible configuration items.  A detailed explanation
  357. for all groups follows in the next chapters.
  358.  
  359.    At the lower part window border are the `Save', `Use' and `Cancel'
  360. buttons, already common in several of the system preference programs.
  361. Additionally you'll find a `Test' gadget which can be considered to be
  362. the most useful function in the preferences program.  It will be handy
  363. in the beginning to use the `Test' options to play around with the
  364. different settings until you have found the configuration that best
  365. fits your needs. Pushing the `Test' button makes all currently running
  366. applications adopt their parameters from the new values. Thus making it
  367. possible to change the settings of a running application and
  368. immediately notice the consequences of your actions.
  369.  
  370.    The `Use'-Gadget saves the changes to the `ENV:' drawer and then
  371. ends the preferences program. Please note that the `ENV:' directory
  372. usually resides in the `RAM DISK:' and a reset discards all the
  373. settings made. If you want your settings to be permanent, please use
  374. the `Save'-Button. In addition to global and application specific
  375. settings, all window positions will be saved.
  376.  
  377.    If you hit `Cancel', all changes will be discarded. Applications
  378. that have already adjusted themselves to the new values because you hit
  379. `Test' automatically return to their previous settings.
  380.  
  381. Font Page
  382. =========
  383.  
  384.    MUI applications may use some user configured fonts:
  385.  
  386.    - `Normal'
  387.  
  388.      This font is used for everything as long as no other font was
  389.      explicitly specified by the programmer.
  390.  
  391.    - `List'
  392.  
  393.      The default font for list-views.
  394.  
  395.    - `Tiny'
  396.  
  397.      This font is used for small an quite unimportant descriptions. The
  398.      lettering of the scale object (see `MUI-Demo') is using this font
  399.      for example.
  400.  
  401.    - `Fixed'
  402.  
  403.      If a program needs a fixed width font, it uses this one.
  404.  
  405.    - `Title'
  406.  
  407.      This font is used for the group titles.
  408.  
  409.    If a font field stays empty MUI uses appropriate default fonts, i.e.
  410. the system default font for the fixed font and the default font of the
  411. screen for all the others.
  412.  
  413. Frames Page
  414. ===========
  415.  
  416.    Frames are important elements to create a straightforward graphical
  417. user interface and to separate single groups from each other. However,
  418. frames are a matter of taste, therefore you can change their appearance
  419. in several ways.
  420.  
  421.    In usual (non MUI) Amiga programs, all frames have vertical lines
  422. with double the thickness of horizontal lines. This outfit was
  423. introduced lots of years ago when 640x256 with a pixel aspect ratio of
  424. nearly 1:2 was the standard resolution. Now days, hi-res graphic
  425. adapters and flicker-fixers often allow an 1:1 aspect ratio,
  426. eliminating the use of double width frames. MUI allows you to change
  427. the thickness of the frames using the `Thickness' cycle gadget.
  428.  
  429.    Framed groups can have a title, and the color of this frame title
  430. can be set via the `Title Color' gadget. Currently three settings are
  431. available:  Black, White and 3D.
  432.  
  433.    The title of the group is centered horizontally at the upper part of
  434. the frame. Selecting `Title Pos' changes the vertical position of this
  435. title text. `Centered' centers the title text vertically, `above' sets
  436. the base line of the text to the position of the frame.
  437.  
  438.    When a programmer creates a MUI application, he doesn't set the
  439. outfit, but only the type for the frames. For example, a button gadgets
  440. gets a button frame and a string gadgets gets a string frame. The
  441. appearance of the frames is determined by the user. Therefore all
  442. possible frame types are collected in a list:
  443.  
  444.    - Button frame
  445.  
  446.      for usual button gadgets, as for example for the `Edit' button
  447.      below this list.
  448.  
  449.    - Image frame
  450.  
  451.      for small buttons that contain nothing but an image, e.g. the arrow
  452.      gadgets in a scroll-bar.
  453.  
  454.    - Text frame
  455.  
  456.      for text gadgets on which can neither be clicked upon nor can be
  457.      edited and are used only to display information, e.g. status lines.
  458.  
  459.    - String frame
  460.  
  461.      for string gadgets.
  462.  
  463.    - Read list
  464.  
  465.      for list-views that only display a list and that can't be clicked
  466.      upon.
  467.  
  468.    - Input-List
  469.  
  470.      for list-views in which the user can select entries, e.g. all
  471.      list-views of the MUI preferences program.
  472.  
  473.    - Prop frame
  474.  
  475.      for all prop gadgets, used for example within scroll-bars and
  476.      sliders.
  477.  
  478.    - Group frame
  479.  
  480.      to group objects, for example the buttons for the subwindows of the
  481.      MUI preferences program are surrounded by a group frame.
  482.  
  483.    - PopUp frame
  484.  
  485.      frames a cycle gadgets popup menu.
  486.  
  487.    - Virtual frame
  488.  
  489.      is used in virtual groups.
  490.  
  491.    Right beneath the frame list, some gadgets allow adjusting the look
  492. of the currently selected frame. You can select one out of a list of
  493. predefined frames with the `Type' cycle gadget, every frame is offered
  494. in an either raised or recessed look.
  495.  
  496.    Additionally, for every frame type, the distance between the frame
  497. itself and its contents can be changed by setting the appropriate slider
  498. gadgets.
  499.  
  500.    At the upper right of the frame configuration page, some slider
  501. gadgets influence several spacing values such as window border spacing,
  502. inter group spacing and radio button spacing. Just try some changes to
  503. see what fits your taste.
  504.  
  505. Listview Page
  506. =============
  507.  
  508.    The `Leading' value determines the number of additional pixels that
  509. are inserted between the lines of a listview to improve its
  510. readability. According to the font used and your personal taste, it
  511. could make sense to set higher values, especially if you use small
  512. fonts such as `topaz/8';
  513.  
  514.    `Smoothing' enables smoothing of list-views. This setting effects
  515. the position of the list in that it doesn't follow the scroll-bar moves
  516. immediately, but instead is delayed for some short amount of time. The
  517. result is smoother scrolling! Selecting zero (0) prevents the
  518. list-views from doing any smoothing at all.
  519.  
  520.    In multi select list-views the user can select either `shifted' or
  521. `Always'. `Shifted' enables the usual multi select mechanism, i.e. you
  522. have to hold down the `Shift' key while you are selecting the entries.
  523. If you select `Always', you don't have to hold down the `Shift' key.
  524.  
  525.    `Refresh' determines the kind of the list-view refreshing.  `Linear'
  526. refreshes the lines as usual from top to bottom, `Intermixed' refreshes
  527. the lines intermixed, what should result in a "nicer" appearance.
  528. Especially on slower machines!
  529.  
  530.    The position of the arrow gadgets at the scroll-bars are controlled
  531. with the `Arrows' cycle gadget, and three different options are
  532. available.
  533.  
  534.    The cycle gadgets of MUI supply a popup menu for easier usage, which
  535. is opened as soon as you hit the gadget. It allows an easy and quick
  536. selection of the desired entry.
  537.  
  538.    `Level' determines the minimal number of entries that are needed to
  539. supply a popup menu. If you don't like popup menus, all you have to do
  540. is select a high value and you'll never see them.
  541.  
  542.    Usually popup menus appear directly under the gadget. For fast usage
  543. and less mouse movement you can configure the popup menus in a way that
  544. let the active entry appear just below the mouse pointer. For this
  545. reason there are the two options for the `Position' gadget.
  546.  
  547.    MUI offers a new register class which allows quick and easy selection
  548. of an active page within a page group. You can have a look at its
  549. layout by viewing the `Preview' picture coming with this distribution.
  550. The position of the `Register Level' slider determines up to which
  551. nesting count, page groups will be shown as registers. If you set this
  552. to 0, no register layout will be used at all, instead you will get
  553. standard cycle gadgets for page swapping. Page groups with more than
  554. `Max Pages' pages will always be shown with cycle gadgets.
  555.  
  556. Images Page
  557. ===========
  558.  
  559.    Graphical user interfaces often use little images, e.g. arrow
  560. buttons or slider knobs. A MUI application usually doesn't define these
  561. images itself, it just says it wants an arrow and MUI supplies this
  562. arrow. This allows the user to configure, how his arrows actually shall
  563. look like.
  564.  
  565.    Here is a list of all available images:
  566.  
  567.    - `ArrowUp', `ArrowDown', `ArrowLeft', `ArrowRight'
  568.  
  569.      Four arrows for the four different directions.
  570.  
  571.    - `CheckMark', `Radio-Button', `Cycle'
  572.  
  573.      Used as image for the well known user interface elements.
  574.  
  575.    - `PopUp', `PopFile', `PopDrawer'
  576.  
  577.      Images for popup buttons besides string gadgets. `PopUp' is used
  578.      if neither a file nor a drawer is wanted.
  579.  
  580.    - `Drawer', `HardDisk', `Disk', `Chip', `Volume', `Network', `Assign'
  581.  
  582.      Default images for the entries of a file requester.
  583.  
  584.    - `TapePlay', `TapePlayback', `TapePause', `TapeStop', `TapeRecord'
  585.  
  586.      Used within tapedeck applications.
  587.  
  588.    - `Prop Knob', `Slider Knob'
  589.  
  590.      Image for the knob within a proportional or slider gadget.
  591.  
  592.    - `BG Window'
  593.  
  594.      Used on every place that doesn't match another background type.
  595.  
  596.    - `BG Groups'
  597.  
  598.      Used within register pages or virtual groups.
  599.  
  600.    - `BG Requester'
  601.  
  602.      Background for MUI requesters, e.g. for the `About' requester of
  603.      the preferences program.
  604.  
  605.    - `BG Textfield'
  606.  
  607.      Framed text fields (e.g. status lines) use this background type.
  608.  
  609.    - `BG Button'
  610.  
  611.      used for buttons containing text and for cycle gadgets.
  612.  
  613.    - `BG Selected Gadget'
  614.  
  615.      a gadget which was selected is marked with this background
  616.      (besides the inversion of the frame).
  617.  
  618.    - `BG Listview'
  619.  
  620.      appears behind the lines of a listview.
  621.  
  622.    - `BG Listview Cursor'
  623.  
  624.      the cursor in a listview.
  625.  
  626.    - `BG Listview Selected'
  627.  
  628.      selected entries in a listview.
  629.  
  630.    - `BG Listview Selected+Cursor'
  631.  
  632.      the cursor on a selected entry of a listview.
  633.  
  634.    - `BG Prop-Gadget Container'
  635.  
  636.      the background in a prop gadget, i.e. the area on which the knob is
  637.      moved around.
  638.  
  639.    - `BG Slider Container'
  640.  
  641.      the background in a slider gadget.
  642.  
  643.    The look of the active image can be configured with the right side
  644. of the image page. Several different image types are available:
  645.  
  646.    - Pattern
  647.  
  648.      Some less complicated pattern are already built into MUI. These
  649.      patterns are mainly used as backgrounds but might also be useful
  650.      for some standard images (e.g. for prop gadget knobs).
  651.  
  652.    - Builtin
  653.  
  654.      MUI offers a built-in outfit for all standard images, all of them
  655.      are visible in this list. MUI's built-in images are scalable, they
  656.      grow with the font size.
  657.  
  658.    - Pen
  659.  
  660.      Mainly useful for background settings; you can select a specific
  661.      color which will be used to draw a simple rectangle for the image.
  662.      Three possibilities are offered for selecting a color: you can
  663.      reference a system pen or a colormap entry or you can tell MUI to
  664.      directly allocate a single color by specifying its RGB values. The
  665.      last choice is only available with Kickstart 3.x and does only
  666.      make sense if the parent screen contains enough sharable colors.
  667.  
  668.    - Boopsi
  669.  
  670.      A Boopsi image a shared system library that contains some specific
  671.      commands for drawing. Boopsi images support resizing and are
  672.      mainly useful for things like prop gadget knobs.
  673.  
  674.    - Brush
  675.  
  676.      MUI Brushs' are traditional ILBM brush files saved with a special
  677.      color setting that allows MUI to translate these images to
  678.      different screens with different colors. MUI comes with lots of
  679.      brushes and you can of course take a paint program and draw your
  680.      own ones.
  681.  
  682.      Note: These images are not resizeable.
  683.  
  684.    - Alien (only for Kick 3.0 and above)
  685.  
  686.      Starting with Kickstart 3.0 there are the so called `datatypes'
  687.      available.  With these datatypes it is possible to load any
  688.      picture file, no matter if its IFF, GIF or another format. MUI
  689.      supports that and allows you to use any datatype picture for
  690.      background or standard images in all applications.
  691.  
  692.    Together with the `All', `None' and `Guess' buttons, you can
  693. simplify the task of selecting many images at once. If you click on
  694. `Guess', MUI will try to find a matching image for all currently
  695. selected items in the image list.
  696.  
  697. Pens Page
  698. =========
  699.  
  700.    When drawing its user interfaces, MUI doesn't use the system supplied
  701. pens directly. Instead, it uses a private set of pens which usually
  702. reference the system pens but are also completely user adjustable.
  703.  
  704.    * Shine
  705.  
  706.      used for shining edges of 3d looking objects.
  707.  
  708.    * Halfshine
  709.  
  710.      used especially for the XEN frame design. Should be a color
  711.      between shine pen and background pen.
  712.  
  713.    * Background
  714.  
  715.      used for backgrounds.
  716.  
  717.    * Halfshadow
  718.  
  719.      used especially for the XEN frame design. Should be a color
  720.      between background pen and shadow pen.
  721.  
  722.    * Shadow
  723.  
  724.      used for dark edges of 3d looking objects.
  725.  
  726.    * Text
  727.  
  728.      used for all kinds of texts.
  729.  
  730.    * Fill
  731.  
  732.      rarely used, maybe you can find it in some builtin rasters for
  733.      image configuration.
  734.  
  735.    * ActiveObj
  736.  
  737.      the active object is surrounded with this color.
  738.  
  739. System Page
  740. ===========
  741.  
  742.    The `System window' contains some settings that refer to the
  743. cooperation of MUI and the operating system.
  744.  
  745.    The very first gadget here allows to adjust a public screen for the
  746. application. The popup button here also offers a way to the builtin
  747. screen manager.
  748.  
  749.    Windows can be refreshed either `smart' (fast but eating chip
  750. memory) or `simple' (slower but no need for memory). The `Window
  751. Refresh' cycle gadget can be used to set one of these refresh types.
  752.  
  753.    When redrawing windows after a resize operation, MUI also offers two
  754. possibilities, adjustable with the `Window Redraw' gadget.  Just choose
  755. the one you like better.
  756.  
  757.    The `Startup' and `Shutdown' string gadgets contain two commands
  758. that are automatically executed before and after running an
  759. application. It is possible for example to use an external screen
  760. manager for opening the desired screen for the application (if the
  761. built-in screen manager doesn't fit your needs).  Another possibility
  762. is to use a simple `echo' command to create a log about starting and
  763. stopping of applications.
  764.  
  765.    The `Iconify-Hotkey' allows you to enter a key combination that
  766. iconifys the application (and pops it up again). The format is the same
  767. as the one described for the input events of the `commodities.library'.
  768.  
  769.    If the `Iconify-Gadget' checkmark is set, every window of the
  770. application gets an additional gadget in the upper window frame that
  771. makes the window iconify as soon as you hit it.
  772.  
  773.    Usually an appicon is created for every iconified application on the
  774. Workbench. Double-clicking this icon reactivates the application. If
  775. `Iconify-Icon' is not set, no AppIcon appears. The application
  776. activation can still be done via the iconify hot-key or the
  777. `Commodities Exchange Program'.
  778.  
  779.    `Start Iconified' determines, if the application will be iconified
  780. at start-up. This will make sense, for example, if you place some tools
  781. into the `WBStartup' drawer, to make them available via keystroke.
  782.  
  783.    All keys that are used to control the MUI applications, can be
  784. configured at the right side of the system group. The entries of the
  785. list directly refer to the keyboard actions, the format for entering
  786. strings is the same as the one used for the input events of the
  787. `commodities.library'. Special attention earns the `Press' key. MUI
  788. needs this key to be able to react on key releases. Therefore this
  789. qualifier description has to contain the string `-upstroke'.  A new key
  790. is only accepted when you acknowledge the string gadget with `Return'.
  791. MUI does a syntax check on your inputs and beeps the display when the
  792. entered key is invalid.
  793.  
  794. Public Screen Manager
  795. =====================
  796.  
  797.    If an application is started, MUI looks for the configured public
  798. screen. When none is found, it checks the list of preconfigured screens
  799. from the builtin screen manager and if successfull, opens the screen
  800. with the specified properties.
  801.  
  802.    The screen managers window is divided into three pages. On the
  803. `Attributes' page, you will find four string gadgets that allow
  804. configuration of a screens public name, his title, the default font and
  805. a background picture.  The background picture can be any picture file
  806. as long as a matching datatype is installed in your system. This
  807. feature is only available under Kickstart 3.0 and above.
  808.  
  809.    Besides these essential values, the screen can have the following
  810. features:
  811.  
  812.    - `Auto Scroll'
  813.  
  814.      If the screen was set larger than the visible part was defined, it
  815.      will be scrolled automatically as soon as the mouse touches the
  816.      screen border.
  817.  
  818.    - `Draggable'
  819.  
  820.      If the screen doesn't have this attribute, it can't be dragged.
  821.  
  822.    - `Exclusive'
  823.  
  824.      The screen cannot share its display with other screens; it will be
  825.      displayed separately (Kick 3.x only).
  826.  
  827.    - `Interleaved'
  828.  
  829.      This attribute reduces - if set - the flicker, that appears
  830.      especially during the scrolling of lists on colorful screens (Kick
  831.      3.x only).
  832.  
  833.    - `Open Behind'
  834.  
  835.      The screen will be opened behind all other screens.
  836.  
  837.    - `System Default'
  838.  
  839.      The screen is declared to be the system default screen. All windows
  840.      that are opened on the system's default screen (e.g. shell
  841.      windows), are automatically routed here.
  842.  
  843.    Size and resolution of the new screen are adjustable on the `Display
  844. Mode' page. It offers gadgets similar to the system screen mode
  845. preferences program and shouldn't need further explanation.
  846.  
  847.    Finally, the `Palette' page allows configuring a screens color
  848. palette. It works much the same way as the systems color preferences,
  849. but it doesn't open a seperate screen. Thus, you will only be able to
  850. see your adjusted colors when you run Kickstart 3.x or above and when
  851. your workbench screens contains enough sharable colors. Just like
  852. system palette preferences, MUI allows to adjust the first and the last
  853. four colors of a screen.
  854.  
  855. CLI Interface
  856. =============
  857.  
  858.    The MUI preferences program supplies a small CLI interface that can
  859. be used to give other programs access to MUI's built-in screen manager
  860. utility.
  861.  
  862.    The syntax is:
  863.  
  864.      NAME,OPEN/S,CLOSE/S
  865.  
  866. NAME:
  867.      Name of a preconfigured public screen
  868.  
  869. OPEN:
  870.      Open screen
  871.  
  872. CLOSE:
  873.      Close screen
  874.  
  875. ARexx Port
  876. ==========
  877.  
  878. ARexx Port
  879. ==========
  880.  
  881.    The preferences program contains a simple ARexx port, defining the
  882. following four commands.
  883.  
  884.    * `SAVE'
  885.  
  886.      Does the same as the `Save'-Button.
  887.  
  888.    * `USE'
  889.  
  890.      Does the same as the `Use'-Button.
  891.  
  892.    * `TEST'
  893.  
  894.      Does the same as the `Test'-Button.
  895.  
  896.    * `CANCEL'
  897.  
  898.      Does the same as the `Cancel'-Button.
  899.  
  900.    Of course the *Note standard ARexx commands: USE_AREXX can also be
  901. used.
  902.  
  903. Other Topics
  904. ************
  905.  
  906. Registration
  907. ============
  908.  
  909.    "MagicUserInterface" is a rather complex product that has always
  910. consumed and will continue to consume a large amount of my time. It was
  911. a lot of work to finish, but I hope this work will be appreciated and
  912. that a lot of MUI based applications with nice and flexible user
  913. interfaces will be available soon.
  914.  
  915.    For I cannot afford just working for fun, I decided to release MUI
  916. as shareware. The unregistered version is not able to save some of the
  917. configuration items of the preferences program. Of course these
  918. restrictions won't affect the operation of MUI applications, all
  919. important values (window positions, screens, system configs) are usable
  920. without registering. Other items will contain reasonable default
  921. values. Even with these default values, MUI applications will be more
  922. attractive and usable as most other programs.
  923.  
  924.    If you plan to use the full set of MUI's possibilities (different
  925. fonts, frames, images, background pattern, ...) with all applications,
  926. or if you just feel that MUI is good and should be supported, you
  927. should register.
  928.  
  929.    Registered users will be shipped a disk with the newest public
  930. release of MUI, along with a personalized, so-called "keyfile" that
  931. enables loading and saving of the complete configuration data. This
  932. keyfile will work with all future releases of MUI, so you can simply
  933. download the latest version from your local bulletin board without
  934. having to wait weeks for your update passing through the slow mail
  935. channels.
  936.  
  937. The price for a MUI registration is
  938.  
  939.      20.- DM  (D-Mark),
  940.      20.- SFr (Schweizer Franken),
  941.      90.- FF  (French Francs),
  942.      15.- US$ (US Dollar)
  943.    or an equivalent amount of US$ 20.- (twenty!) in any other currency.
  944. "Twenty" because I have to visit my bank and sell your foreign currency
  945. which is some kind of expensive here in Germany. If you think your bank
  946. does it cheaper, feel free to get some 15.- US$ at home and send them.
  947.  
  948.    The fastest, cheapest and easiest way to register is put the money
  949. together with the filled registration form into a letter and send it to
  950.  
  951.      Stefan Stuntz
  952.      Eduard-Spranger-Straße 7
  953.      80935 München
  954.      GERMANY
  955.  
  956.    Euro cheques (in DM) are also welcome, but please do not send any
  957. kind of foreign cheques since the bank charges outrageous fees from
  958. both the sender and the receiver. If you really feel you must use a
  959. such cheques, please include extra $10.
  960.  
  961.    You can also transfer the money directly to my bank account, but
  962. beware: international transfers via banks are very expensive.
  963.  
  964.      Stadtsparkasse München, BLZ 701 500 00, Konto 35-169929
  965.  
  966.    In any case, be sure to provide me with your name, address, phone
  967. number and e-mail address for filing purposes. You can send this
  968. information via electronic mail, if you wish. If you don't mind, this
  969. data will be stored and processed in electronic form. There is a sample
  970. registration form you can fill in the file "OrderForm".
  971.  
  972.    All registrations will be handled as fast as possible and should be
  973. finished in about two weeks. Instead of registering MUI directly by the
  974. author, you can also use one of the following registration sites. This
  975. reduces my mailing costs and makes your registration faster.
  976.  
  977.    - U.S.A. and Canada
  978.  
  979.           Robert Blayzor
  980.           P.O. Box 807
  981.           Johnstown, NY 12095-0807
  982.           
  983.           Phone: (518) 883-5326 (data/fax/bbs)
  984.           
  985.           electronic mail:
  986.           
  987.           InterNet/UUCP: robertb@liquid.albany.ny.us
  988.                 FidoNet: 1:267/131.0
  989.                AmigaNet: 40:714/1.0
  990.                  C-Link: 911:6150/1.0
  991.           
  992.           Make all payments payable to: Robert Blayzor
  993.           
  994.           Acceptable payment methods: US Money Orders & Bank/Personal Checks
  995.           
  996.           Personal checks must wait 10-15 days to clear unless certified!
  997.           (All payments in US dollars ONLY!)
  998.  
  999. Updates
  1000. =======
  1001.  
  1002.    Whenever a new release of MUI gets released, I will post some
  1003. information in the appropriate newsgroups of some electronic networks.
  1004. The new archive will soon be available on many bulletin boards and on
  1005. all `aminet' FTP servers. Major releases will also come with some PD
  1006. disks, especially on Fred Fish's collection.
  1007.  
  1008.    As mentioned above, registered users will neither need a new keyfile
  1009. nor a special personalized program version. They can use all new
  1010. features immediately.
  1011.  
  1012.    Of course, every MUI update will be completely compatible to all
  1013. previously released versions. All applications will continue to run and
  1014. automatically benefit from possible enhancements in user interface
  1015. design.
  1016.  
  1017. Support
  1018. =======
  1019.  
  1020.    If you have some questions, comments, suggestions or even flames,
  1021. please feel free to contact me at one of the following addresses. If
  1022. you send your letter via e-mail, there's a good chance for getting a
  1023. quick reply.
  1024.  
  1025.      Snailmail: Stefan Stuntz
  1026.                 Eduard-Spranger-Straße 7
  1027.                 80935 München
  1028.                 GERMANY
  1029.      
  1030.          Phone: +49-89-313-1248
  1031.      
  1032.         e-mail: stuntz@informatik.tu-muenchen.de
  1033.  
  1034. Acknowledgments
  1035. ===============
  1036.  
  1037.    The author wishes to thank
  1038.  
  1039.    - Stefan Becker
  1040.  
  1041.      ... he seemed to have very few time but nevertheless gave some
  1042.      valuable hints. Parts of his `ToolManager' source code were a
  1043.      great help during MUI's development.
  1044.  
  1045.    - Martin Berndt ... solved some tricky problems.
  1046.  
  1047.    - Robert Blayzor ... reworked the english manual.
  1048.  
  1049.    - Dirk Federlein
  1050.  
  1051.      ... for his application `DFView'. With over 100 kByte of source,
  1052.      locale support and documentation in three different formats I
  1053.      don't dare speaking of an "example-program" any more.
  1054.      Additionally, he translated parts of this user documentation.
  1055.  
  1056.    - Georg "gucky" Heßmann
  1057.  
  1058.      ... for reporting some bugs and for his demo program `DVIprint'.
  1059.  
  1060.    - Martin Horneffer and Albert Weinert
  1061.  
  1062.      ... for creating the Oberon language interface.
  1063.  
  1064.    - Martin "XEN" Huttenloher
  1065.  
  1066.      ... has drawn many of the supplied images and also significantly
  1067.      cooperated in other parts of the MUI-Design. Furthermore he
  1068.      contributed the amazing background patterns, which are a small
  1069.      extract of his `MagicWB' package. Friends of an impressive and
  1070.      plastic Workbench should definitely take a closer look at his
  1071.      package `MagicWB'!
  1072.  
  1073.    - Kai "KCommodity" Iske
  1074.  
  1075.      ... wrote one of the several MUI calculators and reported lots of
  1076.      bugs.
  1077.  
  1078.    - Oliver "Mr.Coffee" Kilian
  1079.  
  1080.      ... for testing MUI on good old (and slow) 68000.
  1081.  
  1082.    - Klaus "kmel" Melchior
  1083.  
  1084.      ... for the two sample tools `WbMan' and `MUI-Exchange' and for
  1085.      endless lists of bug reports. He also painted the demo programs
  1086.      icons and supplied some BOOPSI images.
  1087.  
  1088.    - Wouter van Oortmerssen
  1089.  
  1090.      ... for the Amige-E interface.
  1091.  
  1092.    - Armin Sander
  1093.  
  1094.      ... for giving me my first ideas about object oriented GUI design.
  1095.      He told me a lot about classes and objects and made me start with
  1096.      MUI.
  1097.  
  1098.    - Matthias "tron" Scheler und Markus "corwin" Stipp
  1099.  
  1100.      ... for writing the first real MUI application, a message editor
  1101.      for the `Universal Mail System (UMS)'. Look out for `IntuiNews'!
  1102.      Additionally, Matthias wrote the sample program `Font'.
  1103.  
  1104.    - Andreas "goonie" Schildbach
  1105.  
  1106.      ... significantly influenced the design and functionality of MUI
  1107.      and is currently working on a MUI application, a phone and answer
  1108.      machine for ISDN. He made me think of some other things during our
  1109.      endless phone calls.
  1110.  
  1111.    - Wolfgang Schildbach
  1112.  
  1113.      ... for his text formatting code.
  1114.  
  1115.    - Christian Scholz
  1116.  
  1117.      ... for the Modula interface.
  1118.  
  1119.    - Ibrahim "radi" Solmaz
  1120.  
  1121.      ... who also prevented me from working with many phone calls but
  1122.      nevertheless was a valuable help sometimes.
  1123.  
  1124.    - Henri Veistera
  1125.  
  1126.      ... for the assembler interface.
  1127.  
  1128.    The last big thanks is reserved for all registered users of my file
  1129. requester MFR. Its success made me trying it with shareware again. I'm
  1130. sorry, that there was no update for MFR for such a long time, but I put
  1131. all my efforts on this new product. Hope I can release a new, MUI based
  1132. MFR soon.
  1133.  
  1134. Discussion
  1135. ==========
  1136.  
  1137.    - "Why don't MUI's string gadgets support the clipboard?"
  1138.  
  1139.      There is a utility called `NewEdit' that adds clipboard support to
  1140.      all system string gadgets. Of course MUI string gadgets work with
  1141.      this utility too. You can find this thing on aminet or on some PD
  1142.      disks.
  1143.  
  1144. Disclaimer
  1145. ==========
  1146.  
  1147.    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
  1148. APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  1149. HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
  1150. OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
  1151. THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1152. PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
  1153. PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
  1154. COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  1155.  
  1156.    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  1157. WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
  1158. PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
  1159. GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
  1160. USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
  1161. OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
  1162. THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  1163. PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  1164. POSSIBILITY OF SUCH DAMAGES.
  1165.  
  1166. License
  1167. =======
  1168.  
  1169.    - This license applies to the product called "MagicUserInterface"
  1170.      (short "MUI"), a collection of programs for the Amiga computer,
  1171.      published by Stefan Stuntz under the concepts of shareware, and
  1172.      the accompanying documentation. The terms "Program" and "MUI"
  1173.      below, refer to this product. The licensee is addressed as "you".
  1174.  
  1175.    - You may copy and distribute verbatim copies of the program's
  1176.      executable code and documentation as you receive it, in any
  1177.      medium, provided that you conspicuously and appropriately publish
  1178.      only the original, unmodified program, with all copyright notices
  1179.      and disclaimers of warranty intact and including all the
  1180.      accompanying documentation, example files and anything else that
  1181.      came with the original.
  1182.  
  1183.    - Except when otherwise stated in this documentation, you may not
  1184.      copy and/or distribute this program without the accompanying
  1185.      documentation and other additional files that came with the
  1186.      original. You may not copy and/or distribute modified versions of
  1187.      this program.
  1188.  
  1189.    - You may not copy, modify, sublicense, distribute or transfer the
  1190.      program except as expressly provided under this license. Any
  1191.      attempt otherwise to copy, modify, sublicense, distribute or
  1192.      transfer the program is void, and will automatically terminate
  1193.      your rights to use the program under this license. However,
  1194.      parties who have received copies, or rights to use copies, from
  1195.      you under this license will not have their licenses terminated so
  1196.      long as such parties remain in full compliance.
  1197.  
  1198.    - By copying, distributing and/or using the program you indicate your
  1199.      acceptance of this license to do so, and all its terms and
  1200.      conditions.
  1201.  
  1202.    - Each time you redistribute the program, the recipient automatically
  1203.      receives a license from the original licensor to copy, distribute
  1204.      and/or use the program subject to these terms and conditions. You
  1205.      may not impose any further restrictions on the recipients'
  1206.      exercise of the rights granted herein.
  1207.  
  1208.    - You may not disassemble, decompile, re-source or otherwise reverse
  1209.      engineer the program.
  1210.  
  1211.    - You agree to cease distributing the program and data involved if
  1212.      requested to do so by the author.
  1213.  
  1214. Installer
  1215. =========
  1216.  
  1217.    Along with MUI comes the `Installer' from Commodore:
  1218.  
  1219.      Installer and Installer project icon
  1220.      (c) Copyright 1991-93 Commodore-Amiga, Inc.  All Rights Reserved.
  1221.      Reproduced and distributed under license from Commodore.
  1222.      
  1223.      INSTALLER SOFTWARE IS PROVIDED "AS-IS" AND SUBJECT TO CHANGE;
  1224.      NO WARRANTIES ARE MADE. ALL USE IS AT YOUR OWN RISK. NO LIABILITY
  1225.      OR RESPONSIBILITY IS ASSUMED.
  1226.  
  1227.